#include<string.h> требуется только для объявления функции char *strcat(string1,string2); добавляет string2 к string1 char *string1; строка-приемник char *string2; строка-источник char *strchr(string,c); находит первое вхождение c в string char *string; строка-источник int c; поисковый символ int strsmp(string1,string2); сравнивает строки char *string1; char *string2; int strcmpi(string1,string2); сравнивает строки вне зависимости от типа регистра char *string1; char *string2; char strcpy(string1,string2); копирует string2 в string1 char *string1; строка-приемник char *string2; строка-источник int strcspn(string1,string2); находит первую подстроку символов в string1, не входящую в string2 char *string1; строка-источник char *string2; множество символов char *strdup(string); дублирует строку char *string; строка-источник int stricmp(string1,string2); сравнивает строки вне зависимости от типа регистра char *string1; char *string2;
Описание.
Функции strcat, strchr, strcmp, strcmpi, strcpy, strspn, strdup, stricmp работают со строками, оканчивающимися '\0' символом. Аргументы строк для этих функций предполагают наличие нулевого символа ('\0'), отмечающего конец строки.
При копировании или добавлении строк проверка на переполнение не выполняется.
Функция strcat добавляет string2 к string1, заканчивает результирующую строку нулевым символом и возвращает указатель на строку-приемник (string1 ).
Функция strchr возвращает указатель на первое вхождение c в string . Символ c может быть нулевым символом ('\0'); нулевой символ окончания string включается в поиск. Функция возвращает NULL, если символ не найден.
Функция strcmp лексикографически сравнивает строки string1 и string2 и возвращает значение, обозначающее их соотношение так, как показано ниже.
Значение Его смысл меньше 0 string 1 меньше string 2 0 string 1 равна string 2 больше 0 string 1 больше string 2
Функции strcmpi и stricmp являются причинно-нечувствительными версиями strcmp . Два аргумента string1 и string2 сравниваются вне зависимости от типа регистра; это обозначает, что формы букв верхнего и нижнего регистров рассматриваются эквивалентными.
Функция strcpy копирует string2 (включая нулевой символ окончания) в расположение, которое определяется по string1 , и возвращает string1.
Функция strcspn возвращает индекс первого символа в string1 , который принадлежит множеству символов srting2 . Это значение эквивалентно длине начальной подстроки строки string1 , которая содержит все символы, не входящие в строку string2 . При поиске нулевые символы окончания не рассматриваются. Если string1 начинается с символа, содержащегося в строке string2, strcspn возвращает 0.
Функция strdup захватывает память (с возвратом malloc ) для копирования string и возвращает указатель на память, содержащую скопированную строку. Функция возвращает NULL , если память не может быть захвачена.
Возвращаемые значения для этих функций описаны выше.
Пример.
#include <string.h> char string[100], template[100], *result; int numresult; . . . /* создает строку "computer program" посредством использо- вания strcpy и strcat */ strcpy(string, "computer"); result = strcat(string," program"); /* находит строку, в которой первый раз обнаружено 'a' */ result = strchr(string,'a'); /* определяет, является ли строка больше, меньше или равной другой */ numresult = strcmp(string, template); /* сравнивает две строки вне зависимости от типа регистра */ numresult = strcmpi("hello", "HELLO"); /* создает копию строки */ result = strcpy(template,string); /* находит "a","b","c" в строке */ strcpy(string,"xyzabbc"); result = strcspn(string,"abc"); /* создает новый указатель на строку для дублирования стро- ки */ result = strdup(string);